package com.gxa.pingan.mapper;

import com.gxa.pingan.pojo.CarCard;
import com.gxa.pingan.pojo.CarCardVo;

import java.util.List;
import java.util.Map;

/**
 * @Author ChenJin
 * @date 2021/10/25 16:40
 * Description:
 **/
public interface CarCardMapper {

    /**
     * 用于导出
     * @return
     */
    List<CarCardVo>  getVo();

    /**
     * 新增车主卡
     * @param carCard 车主卡对象
     */
    void insert(Map<String,Object> carCard);

    /**
     * 删除车主卡
     * @param id 车主卡编号
     */
    void delete(Long id);

    /**
     * 根据id查找车主卡
     * @param id 车主卡编号
     * @return
     */
    Map<String,Object> selectById(Long id);

    /**
     * 获取车主卡
     * @param id
     * @return
     */
    CarCard get(Long id);

    /**
     * 获取全部车主卡，用于统计数量
     * @return
     */
    List<Map<String,Object>> getList();

    /**
     * 分页获取车主卡列表
     * @param page 页码
     * @param size 每页长度
     * @return
     */
    List<Map<String,Object>>  getListByPage(Integer page,Integer size);

    /**
     * 修改车主卡信息
     * @param carCard 车主卡对象
     */
    void update(Map<String,Object> carCard);

    /**
     * 根据搜索框输入的用户姓名或手机号和选择的时间查询，用于统计数量
     * @param value 搜索框的值
     * @param time 下拉框选择的时间
     * @return
     */
    List<Map<String,Object>> search(String value,Integer time);

    /**
     * 根据搜索框输入的用户姓名或手机号和选择的时间获取车主卡列表
     * @param value 搜索框的值
     * @param time 下拉框选择的时间
     * @param page 页码
     * @param size 每页大小
     * @return
     */
    List<Map<String,Object>> searchByPage(String value,Integer time,Integer page,Integer size);

    /**
     * 根据电话查找车主卡
     * @param phone
     * @return
     */
    Map<String,Object> selectByPhone(String phone);



}
